﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace work5_2
{
    class Class1
    {
        /// <summary>
        /// (打开（文件）按钮点击事件)读取文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Open_Click(object sender, EventArgs e)
        {
            try
            {
                openFileDialog1.Filter = "文本文件(*.txt)|*.txt";         //设置打开文件的类型
                openFileDialog1.ShowDialog();  //打开选择文件对话框
                TextFileName.Text = openFileDialog1.FileName;  //获取打开的文件名
                FileStream fs = File.OpenRead(openFileDialog1.FileName); 打开现有文件以进行读取
                byte[] bs = new byte[1024]; 定义缓存
                while (fs.Read(bs, 0, bs.Length) > 0)   //每次读取1024个字节 ，判断结果是否大于0
                {
                    textContext.Text = Encoding.Default.GetString(bs); //把字节数组所有字节转为一个字符串
                }
                fs.Close(); //关闭文件流
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// 写入按钮点击事件（向文件写入内容）
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnWrite_Click(object sender, EventArgs e)
        {

            if (TextFileName.Text != "")
            {
                if (textContext.Text != "")
                {
                    //通过指定文件获取文件流
                    FileStream fs = File.OpenWrite(TextFileName.Text);
                    //将字符串转换为字节数组
                    Byte[] info = Encoding.Default.GetBytes(textContext.Text);
                    //向文件流中写入文件
                    fs.Write(info, 0, info.Length);
                    fs.Close();   //关闭文件流
                    MessageBox.Show("文件保存成功！");
                }
                else
                {
                    MessageBox.Show("文件内容不能为空");
                }
            }
            else
            {
                MessageBox.Show("文件路径不能为空");
            }
        }

    }
}
